package com.gwtplatform.samples.tab.client;

import com.google.gwt.inject.client.AbstractGinModule;
import com.google.inject.Singleton;

import com.gwtplatform.samples.tab.client.aboutdialog.AboutDialogPresenter;
import com.gwtplatform.samples.tab.client.aboutus.AboutUsPresenter;
import com.gwtplatform.samples.tab.client.attacher.RootLayoutPanelAttacherModule;
import com.gwtplatform.samples.tab.client.contact.ContactPresenter;
import com.gwtplatform.samples.tab.client.info.HomeInfoPresenter;
import com.gwtplatform.samples.tab.client.infopopup.InfoPopupPresenter;
import com.gwtplatform.samples.tab.client.main.MainPresenter;
import com.gwtplatform.samples.tab.client.main.MainPresenterImpl;
import com.gwtplatform.samples.tab.client.news.HomeNewsPresenter;

public class ClientModule extends AbstractGinModule {
    
    @Override
    protected void configure() {
        bind(AboutDialogPresenter.class).in(Singleton.class);
        bind(AboutUsPresenter.class).in(Singleton.class);
        bind(ContactPresenter.class).in(Singleton.class);
        bind(InfoPopupPresenter.class).in(Singleton.class);
        bind(HomeInfoPresenter.class).in(Singleton.class);
        bind(MainPresenter.class).to(MainPresenterImpl.class).in(Singleton.class);
        bind(HomeNewsPresenter.class).in(Singleton.class);
        install(new RootLayoutPanelAttacherModule());
    }
}
